home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 8 / FM Towns Free Software Collection 8.iso / t_os / gpen32k / source / asrc / vput2.asm
Encoding:
Assembly Source File  |  1994-06-01  |  788 b   |  50 lines

  1. ;
  2. ;        VRAM直接操作型PUT32K
  3. ;            HIGH-C関数型
  4. ;void    vput2( int x1, int y1, int x2, int y2, char *data );
  5. ;
  6.     .386p
  7.     extrn    SMALL?:word
  8. code    segment dword 'CODE'
  9. CGROUP    group    code
  10.     assume    cs:CGROUP
  11.     public    vput2
  12. vput2    proc    near
  13.     push    ebp
  14.     mov    ebp,esp
  15.     push    ebx
  16.     push    esi
  17.     push    edi
  18.     push    es
  19.     mov    ax,104h
  20.     mov    es,ax
  21.     mov    edi,[ebp+8]    ;x1
  22.     mov    eax,[ebp+12]    ;y1
  23.     mov    edx,[ebp+16]    ;x2
  24.     mov    ecx,[ebp+20]    ;y2
  25.     mov    esi,[ebp+24]    ;ofs
  26.     sub    ecx,eax
  27.     inc    ecx            ;ecx y size
  28.     sal    eax,9            ;vram先頭計算
  29.     add    eax,edi
  30.     sal    eax,1
  31.     add    eax,40000h        ;eax vram先頭
  32.     sub    edx,edi
  33.     inc    edx            ;edx x size
  34. la1:    mov    edi,eax
  35.     add    eax,1024
  36.     mov    ebx,ecx
  37.     mov    ecx,edx
  38.     rep movsw
  39.     mov    ecx,ebx
  40.     loop    la1
  41.     pop    es
  42.     pop    edi
  43.     pop    esi
  44.     pop    ebx
  45.     pop    ebp
  46.     ret
  47. vput2    endp
  48. code    ENDS
  49.     END
  50.